﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace DataTier.Repository
{
    /// <summary>
    /// Репозиторий для работы с установками и настройками системы
    /// </summary>
    public class SettingsRepository : RepositoryBase
    {
        public SettingsRepository()
        {

        }

        public SettingsRepository(IDbConnection connection)
            : base(connection)
        {

        }


        /// <summary>
        /// Возвращает список всех настроек системы из базы данных
        /// </summary>
        /// <returns></returns>
        public List<SystemSettings> GetSettings()
        {
            using (var dbcontext = CreateDataContext())
            {
                return dbcontext.SystemSettings.ToList();
            }
        }


        /// <summary>
        /// Возвращает объект со значением настройки по конкретному названию настройки
        /// </summary>
        /// <param name="settingKey"></param>
        /// <returns></returns>
        public SystemSettings GetSettingValue(string settingKey)
        {
            using (var dbcontext = CreateDataContext())
            {
                var setting = dbcontext.SystemSettings.Where(s => s.SettingName.ToLower() == settingKey.ToLower()).FirstOrDefault();
                return setting;
            }
        }

    }
}
